package com.sandyz.virtualcam

import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4

import org.junit.Test
import org.junit.runner.RunWith

import org.junit.Assert.*

/**
 * Instrumented test, which will execute on an Android device.
 *
 * See [testing documentation](http://d.android.com/tools/testing).
 *
 * Android设备测试类
 * 
 * 主要功能：
 * 1. 在Android设备上执行测试
 * 2. 验证应用上下文
 * 3. 集成测试支持
 * 
 * 实现细节：
 * - 使用AndroidJUnit4运行器
 * - 依赖Android测试框架
 * - 支持设备API测试
 * 
 * @author sandyz987
 * @date 2023/11/18
 */
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
    /**
     * 1. 应用上下文测试
     * 
     * 测试目的：
     * 1.1 验证应用包名
     * 1.2 确保测试环境正确
     * 
     * 测试步骤：
     * 1.3 获取应用上下文
     * 1.4 验证包名是否为com.sandyz.virtualcam
     */
    @Test
    fun useAppContext() {
        // 1.3 获取应用上下文
        val appContext = InstrumentationRegistry.getInstrumentation().targetContext
        // 1.4 验证包名
        assertEquals("com.sandyz.virtualcam", appContext.packageName)
    }
}